package com.blockmeta.bbs.businesslibrary.net.pojo;

import androidx.annotation.NonNull;

public class PublicKeyRequestPOJO {

    private String secretKeyVersion;
    private String appId;
    private String msg;
    private String secretPublicKey;
    private String timestamp;
    private String serverCode;
    private String magicKey;
    private String sign;

    public PublicKeyRequestPOJO() {
    }

    private PublicKeyRequestPOJO(Builder builder) {
        secretKeyVersion = builder.secretKeyVersion;
        appId = builder.appId;
        msg = builder.msg;
        secretPublicKey = builder.secretPublicKey;
        timestamp = builder.timestamp;
        serverCode = builder.serverCode;
        magicKey = builder.magicKey;
        sign = builder.sign;
    }

    public static Builder newBuilder() {
        return new Builder();
    }


    public static final class Builder {
        private String secretKeyVersion;
        private String appId;
        private String msg;
        private String secretPublicKey;
        private String timestamp;
        private String serverCode;
        private String magicKey;
        private String sign;

        private Builder() {
        }

        @NonNull
        public Builder secretKeyVersion(@NonNull String val) {
            secretKeyVersion = val;
            return this;
        }

        @NonNull
        public Builder appId(@NonNull String val) {
            appId = val;
            return this;
        }

        @NonNull
        public Builder msg(@NonNull String val) {
            msg = val;
            return this;
        }

        @NonNull
        public Builder secretPublicKey(@NonNull String val) {
            secretPublicKey = val;
            return this;
        }

        @NonNull
        public Builder timestamp(@NonNull String val) {
            timestamp = val;
            return this;
        }

        @NonNull
        public Builder serverCode(@NonNull String val) {
            serverCode = val;
            return this;
        }

        @NonNull
        public Builder magicKey(@NonNull String val) {
            magicKey = val;
            return this;
        }

        @NonNull
        public Builder sign(@NonNull String val) {
            sign = val;
            return this;
        }

        @NonNull
        public PublicKeyRequestPOJO build() {
            return new PublicKeyRequestPOJO(this);
        }
    }

    public String getSecretKeyVersion() {
        return secretKeyVersion;
    }

    public void setSecretKeyVersion(String secretKeyVersion) {
        this.secretKeyVersion = secretKeyVersion;
    }

    public String getAppId() {
        return appId;
    }

    public void setAppId(String appId) {
        this.appId = appId;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public String getSecretPublicKey() {
        return secretPublicKey;
    }

    public void setSecretPublicKey(String secretPublicKey) {
        this.secretPublicKey = secretPublicKey;
    }

    public String getTimestamp() {
        return timestamp;
    }

    public void setTimestamp(String timestamp) {
        this.timestamp = timestamp;
    }

    public String getServerCode() {
        return serverCode;
    }

    public void setServerCode(String serverCode) {
        this.serverCode = serverCode;
    }

    public String getMagicKey() {
        return magicKey;
    }

    public void setMagicKey(String magicKey) {
        this.magicKey = magicKey;
    }

    public String getSign() {
        return sign;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }
}
